Functional programming languages operate without having mutable state. Examples of functional programming languages include Haskell, Erlang, F#, and others. In some cases, imperative or other languages may be used to create programs that operate in a similar fashion, even though other languages may not enforce the same constraints as functional languages.
A concept within functional programs is that the code may operate by sending an argument to a function, which returns a result. While evaluating the argument, the function may not change the state of any other items.